package com.thirteen.app.daoTest;

import com.thirteen.app.dto.CreateExamBySearchResponse.PaperSearchDto;
import com.thirteen.app.dto.CreateExamResponse.PaperInfoExamDto;
import com.thirteen.app.dto.CreatePaperResponse.PaperCreateDto;
import com.thirteen.app.dto.ExamRecordResponse.PaperWithAnswerDto;
import com.thirteen.app.dto.ExamRecordWithScoreResponse.PaperWithScoreDto;
import com.thirteen.app.dto.PaperRespose.PaperDto;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface PaperDao {
    //    根据考试Id查出对应试卷
    PaperDto queryPaper(Integer paperId);

    //    根据考试Id查出对应试卷
    PaperWithAnswerDto queryPaperWithAnswer(Integer paperId);

    //    根据考试Id查出对应试卷
    PaperWithScoreDto queryPaperWithScore(@Param("examRecordId") Integer examRecordId);

    //    根据课程Id查出所有试卷
    List<PaperSearchDto> queryAllPaperByCourseId(@Param("courseId") Integer courseId, @Param("paperName") String paperName, @Param("offset") Integer offset, @Param("limit") Integer limit);

    //    查询试卷简略信息
    PaperInfoExamDto queryPaperInfo(@Param("paperId") Integer paperId);

    //    创建试卷
    Integer insertPaperForCreate(@Param("paperCreateDto") PaperCreateDto paperCreateDto);

    //    考试阅卷方式
    Integer isMachineJudge(Integer examRecordId);

    //    查询出题人姓名
    String queryUserRealName(Integer paperId);


    PaperDto queryByExamId(Integer examId, Integer userId);
}
